1. The Field of the Invention
This invention relates to computer software and, more particularly, to novel systems and methods for providing access to embedded devices through a computer network.
2. The Background Art
In recent years there has been a great increase in the amount of computer technology that is involved in daily life. In today""s world, computer technology is involved in many aspects of a person""s day. Many devices being used today by consumers have a small computer inside of the device. These small computers come in varying sizes and degrees of sophistication. These small computers include everything from one microcontroller to a fully-functional complete computer system. For example, these small computers may be a one-chip computer, such as a microcontroller, a one-board type of computer, such as a controller, a typical desktop computer, such as an IBM-PC compatible, etc.
The small computers, (which can be rather large computers depending on the particular need which is being met by the computer), almost always have one or more processors at the heart of the computer. The processor(s) usually are interconnected to different external inputs and outputs and function to manage the particular device. For example, a processor in a vending machine for soda pop may be connected to the buttons used to select the pop, to the switch that allows a pop to drop down to a user, and to lights to indicate that the machine does not have any more pop of a particular variety.
Computer technology is involved in many aspects of daily life. Many appliances, devices, etc., include one or more small computers. For example, refrigerators, telephones, typewriters, automobiles, vending machines, and many different types of industrial equipment all have small computers, or processors, inside of them. Computer software runs the processors of these computers and tells the processors what to do to carry out certain tasks. For example, the computer software running on a processor in a vending machine may cause a soda pop to drop to a user when the correct change has been entered by a user.
These types of small computers that are a part of a device, appliance, tool, etc., are often referred to as embedded systems. The term xe2x80x9cembedded systemxe2x80x9d usually refers to computer hardware and software that is part of a larger system. Embedded systems usually do not have typical input and output devices such as a keyboard, mouse, and/or monitor. Usually, at the heart of each embedded system is one or more processor(s).
Typically the embedded systems used today with various appliances, devices, etc., do not have a lot of storage capability. As a result, the amount of data that can be stored on the embedded systems is limited. With only limited storage, an embedded system may not have as many features and capabilities as it could have if it had more available storage.
Some embedded systems have been connected to computer networks to allow some communication between the embedded system and a larger computer system. However, because embedded systems are often not equipped with the functionality to effectively and efficiently communicate with other computer systems, the communication capability is usually limited. In addition, the means for communicating with embedded systems is often a slower type of communication pathway and, accordingly, only limited amounts of data are passed to and from the embedded systems.
Because of the constrained memory resources on the embedded systems and because of the typically limited communications means, often only limited interaction from a computer network with the embedded system is available. This interaction is often of limited use because of the difficulty in communicating with the different parts of the embedded system.
In view of the foregoing, it is an object of embodiments herein to provide access to an embedded system and the services available at the embedded system from a computer in electronic communication with the embedded system.
Consistent with the foregoing objects, and in accordance with the embodiments broadly described herein, a system is disclosed for use in a networked computer system that includes a host computer and a remote computer being used to access a device. The system includes a communications module for transferring data to and from a communications port of the host computer. The system also includes a data interface module for accessing an interface definition from a storage device in electronic communication with the host computer. Accessing the interface definition is accomplished through use of an interface definition identifier. A device access controller is also utilized in the system for communicating with the remote computer via the communications module. The device access controller obtains the interface definition identifier from computer program code loaded on the remote computer. In addition, the device access controller accesses the storage device through the data interface module to obtain the interface definition and uses the interface definition identifier to obtain the interface definition. In embodiments herein, there may be a plurality of interface definition identifiers obtained from the computer program code loaded on the remote computer.
A method practiced in accordance with embodiments herein may include the steps of establishing electronic communications between the host computer and the remote computer, receiving the interface definition identifier and accessing the interface definition from the storage device using the interface definition identifier. A method further includes the steps of providing the interface at the host computer for communicating with the remote computer and facilitating communications with the remote computer via the interface.